{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Advanced Circuits"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "from qiskit import *"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-04-24T04:16:16.208643Z",
     "start_time": "2019-04-24T04:16:16.205855Z"
    }
   },
   "source": [
    "## Opaque gates"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-08-21T09:00:47.692387Z",
     "start_time": "2019-08-21T09:00:47.689669Z"
    }
   },
   "outputs": [],
   "source": [
    "from qiskit.circuit import Gate\n",
    "\n",
    "my_gate = Gate(name='my_gate', num_qubits=2, params=[])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-08-22T14:45:17.137276Z",
     "start_time": "2019-08-22T14:45:17.129509Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<pre style=\"word-wrap: normal;white-space: pre;background: #fff0;line-height: 1.1;font-family: &quot;Courier New&quot;,Courier,monospace\">     ┌──────────┐            \n",
       "q_0: ┤0         ├────────────\n",
       "     │  my_gate │┌──────────┐\n",
       "q_1: ┤1         ├┤0         ├\n",
       "     └──────────┘│  my_gate │\n",
       "q_2: ────────────┤1         ├\n",
       "                 └──────────┘</pre>"
      ],
      "text/plain": [
       "     ┌──────────┐            \n",
       "q_0: ┤0         ├────────────\n",
       "     │  my_gate │┌──────────┐\n",
       "q_1: ┤1         ├┤0         ├\n",
       "     └──────────┘│  my_gate │\n",
       "q_2: ────────────┤1         ├\n",
       "                 └──────────┘"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "qr = QuantumRegister(3, 'q')\n",
    "circ = QuantumCircuit(qr)\n",
    "circ.append(my_gate, [qr[0], qr[1]])\n",
    "circ.append(my_gate, [qr[1], qr[2]])\n",
    "\n",
    "circ.draw()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Composite Gates"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-08-22T14:45:17.152693Z",
     "start_time": "2019-08-22T14:45:17.139151Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<pre style=\"word-wrap: normal;white-space: pre;background: #fff0;line-height: 1.1;font-family: &quot;Courier New&quot;,Courier,monospace\">     ┌───┐                       \n",
       "q_0: ┤ H ├──■────────────────────\n",
       "     └───┘┌─┴─┐     ┌───────────┐\n",
       "q_1: ─────┤ X ├──■──┤0          ├\n",
       "          └───┘┌─┴─┐│  sub_circ │\n",
       "q_2: ──────────┤ X ├┤1          ├\n",
       "               └───┘└───────────┘</pre>"
      ],
      "text/plain": [
       "     ┌───┐                       \n",
       "q_0: ┤ H ├──■────────────────────\n",
       "     └───┘┌─┴─┐     ┌───────────┐\n",
       "q_1: ─────┤ X ├──■──┤0          ├\n",
       "          └───┘┌─┴─┐│  sub_circ │\n",
       "q_2: ──────────┤ X ├┤1          ├\n",
       "               └───┘└───────────┘"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Build a sub-circuit\n",
    "sub_q = QuantumRegister(2)\n",
    "sub_circ = QuantumCircuit(sub_q, name='sub_circ')\n",
    "sub_circ.h(sub_q[0])\n",
    "sub_circ.crz(1, sub_q[0], sub_q[1])\n",
    "sub_circ.barrier()\n",
    "sub_circ.id(sub_q[1])\n",
    "sub_circ.u3(1, 2, -2, sub_q[0])\n",
    "\n",
    "# Convert to a gate and stick it into an arbitrary place in the bigger circuit\n",
    "sub_inst = sub_circ.to_instruction()\n",
    "\n",
    "qr = QuantumRegister(3, 'q')\n",
    "circ = QuantumCircuit(qr)\n",
    "circ.h(qr[0])\n",
    "circ.cx(qr[0], qr[1])\n",
    "circ.cx(qr[1], qr[2])\n",
    "circ.append(sub_inst, [qr[1], qr[2]])\n",
    "\n",
    "circ.draw()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Circuits are not immediately decomposed upon conversion `to_instruction` to allow circuit design at higher levels of abstraction.\n",
    "When desired, or before compilation, sub-circuits will be decomposed via the `decompose` method."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-08-22T14:45:17.178354Z",
     "start_time": "2019-08-22T14:45:17.154448Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<pre style=\"word-wrap: normal;white-space: pre;background: #fff0;line-height: 1.1;font-family: &quot;Courier New&quot;,Courier,monospace\">     ┌──────────┐                                         \n",
       "q_0: ┤ U2(0,pi) ├──■──────────────────────────────────────\n",
       "     └──────────┘┌─┴─┐     ┌───┐          ░ ┌────────────┐\n",
       "q_1: ────────────┤ X ├──■──┤ H ├────■─────░─┤ U3(1,2,-2) ├\n",
       "                 └───┘┌─┴─┐└───┘┌───┴───┐ ░ └───┬───┬────┘\n",
       "q_2: ─────────────────┤ X ├─────┤ RZ(1) ├─░─────┤ I ├─────\n",
       "                      └───┘     └───────┘ ░     └───┘     </pre>"
      ],
      "text/plain": [
       "     ┌──────────┐                                         \n",
       "q_0: ┤ U2(0,pi) ├──■──────────────────────────────────────\n",
       "     └──────────┘┌─┴─┐     ┌───┐          ░ ┌────────────┐\n",
       "q_1: ────────────┤ X ├──■──┤ H ├────■─────░─┤ U3(1,2,-2) ├\n",
       "                 └───┘┌─┴─┐└───┘┌───┴───┐ ░ └───┬───┬────┘\n",
       "q_2: ─────────────────┤ X ├─────┤ RZ(1) ├─░─────┤ I ├─────\n",
       "                      └───┘     └───────┘ ░     └───┘     "
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "decomposed_circ = circ.decompose() # Does not modify original circuit\n",
    "decomposed_circ.draw()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Parameterized circuits"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-08-22T14:45:17.201634Z",
     "start_time": "2019-08-22T14:45:17.180844Z"
    },
    "tags": [
     "nbsphinx-thumbnail"
    ]
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAxEAAAExCAYAAAADVC95AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nO3de3xU1b338e9MEpJACLdwv0MCJOEihIugErCIlPYotYCK+ijUYhF8VKRHrAJearFKRY8KVUuPPEexcilKLUe8kQAiGkSRcAv3BAgQIJAEwiWZPH9sgQTIZAZmZs3OfN6vV14Oe/as+bIMe+a391prO8rKysoEAAAAAB5ymg4AAAAAwF4oIgAAAAB4hSICAAAAgFcoIgAAAAB4hSICAAAAgFcoIgAAAAB4hSICAAAAgFcoIgAAAAB4hSICAAAAgFcoIgAAAAB4hSICAAAAgFcoIgAAAAB4hSICAAAAgFcoIgAAAAB4hSICAAAAgFcoIgAAAAB4hSICAAAAgFcoIgAAAAB4hSICAAAAgFcoIgAAAAB4Jdx0AACAZcuWLW6ff/311zVhwgS3+3Tq1MmXkaqlqvpZoq8BoCpciQAAm3jjjTdMRwgZ9DUAuEcRAQAAAMArFBEAAAAAvEIRAQA2sXDhQtMRQgZ9DQDuUUQAAAAA8ApFBADYxPDhw01HCBn0NQC4RxEBAAAAwCvcJyJEPPKemfd95S4z7wvAtz6fYeZ9B00y874AfMvE95Cr/Q7icDh8E8RLZWVlRt7XW1yJAACbGD9+vOkIIYO+BgD3KCIAwCaquoMyfIe+BgD3KCIAwCb69+9vOkLIoK8BwD3mRACATeTl5ZmOUKXbn2umopP5cjrD5HSGKalVXz064m01qtvSdDSv2KGvAcAkrkQAAHzi8PF9OlqQq1mPrNO/ni/S/0zeqWMnDmnO0smmowEAfIwiAgBsIikpyXQEt7bmZKhmVKxaNeokSYqt1UDxzXsov/Cg4WTeC/a+BgDTGM4EADaxaNEi0xHc2pqToY4tesnhcKi0tETrtn2u9PUf6MFbXjUdzWvB3tcAgktcXJyuv/569ezZU82aNZPD4dDBgwe1bt06rVq1Svv377/kNX369NGrr76qYcOG6cCBAwZSXx2KCACwialTp+rZZ581HaNSW3MylLl7lYZNqaviM0WKiqipx0bMUWq3kaajeS3Y+xpAcLjmmmv0+9//XsOHD1eNGjUuu09paak+/vhjzZgxQ6tWrZJkFRDLli1TnTp1NHHiRP3nf/5nIGP7BMOZynG5XJoxY4YSEhIUFRWlbt26KT09XR07dtTYsWNNxwuov01opsy0ORW2lZWVafb9sdqesdhQKvfOlEhrtkszP5GmLJKeXyL974/S8ZOmkwG+sWDBAtMR3Nq2d63+MOp9ffjcMc17MkdxdVoo+9AW07GuSLD3NeCp/fnS/G+kZxZLUxdJf/1SytwruYL8fmbB/j0kIiJCf/zjH5WRkaFRo0YpLCxMX3zxhaZPn677779fY8aM0TPPPKOlS5eqtLRUt956q1auXKk33nhDAwYMOF9AzJ8/X0888YTpv84V4UpEOWPGjNHixYs1ZcoUpaSkaPXq1brzzjuVl5eniRMnmo4XMEVH9+nEsVw1bNWtwvbjh3bqzKlCNW7X01CyyhWdkmZ9Ie0/JjkklUkqPCUt2yClbZF+N1Bq29B0SqD62nd4uwqL85XQoockqUFsUw1PfUzvLJuiu372lJxOp0pLSzT5bzfL5SpVUXG+wpzhmvXId4aTA9XXmu3SB99Yj8/VDIUHpC25UvdW0t3XSWFBeDo52L+HREdH68MPP9TgwYPlcrn0X//1X5oxY4ZycnIuu3/Dhg310EMP6fHHH9eDDz6osWPHKjw8XPPnz9eoUaNUWloa4L+BbwThr44Z8+bN09y5c7VkyRJNmjRJAwcO1JNPPqm+ffuqpKREKSkpkqSDBw9q8ODBqlmzprp166bvv//ecHLfO7gzQw5nmBq0SK6w/XD2etWs01i1GwTfUo3/7ysp95j1+OKTK2fOSm8ul06cDngsIGRszclQ7Zr11bhe6/Pb+iXfqmOFB5W527p8HxYWrpce+EJPjJqnpvXb6el7zZ9NBKqrXXnSP76xPhPLfy6W/fSH77OlT340kaxqwf495B//+IcGDx6sgwcPqn///nr44YcrLSAka8noqVOnasyYMSotLVV4eLiOHDmie++917YFhEQRcd706dM1ZMgQpaamVtgeHx+viIgIdenSRZI0btw4derUSUeOHNH48eM1fPhwW/8CXM7BnRmq16SDwmtEV9iel71ejdoG31WI/flS1oFLi4dzyiSdOit9uzOQqQDfS09PNx2hUlk5GYpv1r3Ctjq14pTUpp9W/rjw/Lbco7v0+ocT9PDwN9WoXqtAx/RYMPc14Im0LdaVeXdWZllDgYNNMH8PGTt2rG655RYdOXJEAwYM0FdffeXR6/r06aM33nhDYWFhOnHihBo0aKDJk+29/LWjrKwsyEfF+d/evXvVsmVLzZkzR2PGjKnw3J133qktW7bo+++/V2FhoeLi4rRv3z7FxcVJktq0aaP33ntP1113nU+yOBxV/ZO/Mg+/6/n/5sUvDNbezWmqER1bYfvZ00Xq+R9P6Nrbpnnc1qt3++fvU16vW59UvxF/dLtPmcul3O1fa8Gz1/s9D3ClHn30UbfP79ixQ+3bt3e7z8yZM30Z6bzPXrr6j4o9Bzdp7rKpmjjib4qJruvRa276ve+PIVX1s2S2rwFfmPDOaYWFX36ib3mL/3yzsjd86vc8Jr6H+Po7SL169bRnzx7Vrl1bt99+u+bPn+/R68pPop4/f75mz56t5cuX6+zZs0pMTNSOHTt8mvNqeVoacCVCVhEhSU2aNKmwvbi4WOnp6eeHMm3btk0NGjQ4X0BIUpcuXbRp06bAhQ2Ag7vWqs9tT2vU8z9U+AmPiFbjILwSERFZS2VlLrf7OJxORUTWClAiwD+WLFliOsJVmfz2YB3M36Np7wzTY7MH6ETxcdORKmX3vkZoczjDPCogJCkisqaf03gvWL+H3Hfffapdu7Y+//zzKy4gRo0apbS0NM2dO1cRERH63e9+5+fU/sPEaul8UZCVlaWhQ4ee3/7iiy8qNzdXPXpYEwVPnDih2NiKVXFsbKyKiop8lsVfF4Yeec+z/Y4d2K7TJ/LVuuvNqt2gRcXtJ4+pkZeTmQJxoWvNDukfa9zv45B00w3X6D0uvCGIbdnifiWjmTNnVrlS3Msvv+zLSOd9PuPq23j/qb1ev8Yfx5Cq+lky29eALzy9WDrmweqEKz5drGb1/J/HxPeQqz1+XDw65L777pMkvfbaax69/nIFxLkh8K+99pruvfde3Xffffr973/v09yBQhEhqV27duratav+9Kc/qX79+mrevLkWLlyopUuXStL5KxG1atVSYWFhhdcWFBQoJiYm4Jn95eDODIVH1rxkRYTcbasV06ClatVpbChZ5bq3kv651v24zjJJfeMDFgkAAKOuS5D+vb7y5x2SWjZQQAoIbwTr95CYmBh17txZZ86c0SeffFLl/u4KCEn67rvvtH//fjVr1kzt27cPuiFNnmA4kySn06kFCxYoOTlZ48aN0+jRoxUXF6fx48crPDxcXbt2lSQlJCTo8OHDOnLkyPnXZmZmKikpyVR0nzu4M0ON2/aSM6xifZm7/eugHMokSZER0q093O/TpYXUoYn7fYBg98wzz5iOEDLoa9jddR2khrUvP7naIcnplH6VEuhUVQvW7yGdO3eW0+lUZmamzpw543bfqgqIc9atWyfJumGdHXEl4icdOnTQ8uXLK2y75557lJiYqOhoa3WA2rVr6xe/+IWee+45vfDCC3r33XflcDh07bXXmojsF/3vvvzl+RtHzw5wEu9clyCFOaQl30sny/3bdjqsKxC/SpH8NGcdCJiRI+1352e7oq9hdzVrSP/3JmneGmnz/orPNYiR7rg2OO+fFKzfQ4qLi7VkyRJt3LjR7X5t27b1qICQpLS0NJWVleno0aP+iOx3FBFurF279pICYfbs2br77rtVr149JSQkaNGiRQoLCzOUEOVdGy/1bCtt3Cf990pr27O3STFRZnMBvpKYmKjNmzebjuGVOUuf0MbdXym5zXX6zdDppuN4zI59DVysdrT0wEApr0B6/l/Wtgd/JiU05sSat9avX69bb721yv127dqluXPnqkmTJlXeSO4vf/mL/vKXv/gyZkBRRFSiqKhIWVlZevDBBytsb9y4sT777DNDqVCV8DCpW7ml5ykgAHN2HcjUiVMFevnBFZq5cKx2H9ioNk2Sq34hAJ9qWG5NGIb2+t/DDz+ssLCwancfsYtRRFQiJiam2v/PBwB/yty1Sj07DJYk9Ui4SRt2raSIABASQuE7JEUEANjEgAEDTEfwSuHJo/r4679q0cqZKio+ptRu9plnYLe+BoBAo4gAAJuYPTu4Fzi4WO2a9XXvzc+qX/ItWrPpY+Ud9/4+EabYra8BINBY4hUAbGLcuHGmI3ilc9vrtWHnCknS+h1p6tL2BsOJPGe3vgaAQKOIAACbSEtLMx3BK22bdFZ4WIQemz1A4WERtpoPYbe+BoBAYzgTAMBv7LSsKwDAc1yJAAAAAOAViggAsAlufhY49DUAuMdwphDxyl2mEwC4WvPnz9fIkWaWSR00ycjbGmOyr4HqyI7fQ8rKyrx+zeQ/vyVJeuHxsRUeV0dciQAAm5g2bZrpCCGDvgYA9ygiAAAAAHiFIgIAAACAVygiAMAmZs2aZTpCyKCvAcA9iggAsInkZPvcrM3u6GsAcI8iAgBsIjU11XSEkEFfA4B7FBEAAAAAvEIRAQA20atXL9MRQgZ9DQDuUUQAgE1kZGSYjhAy6GsAcI8iAgAAAIBXKCIAAAAAeIUiAgBsYuHChaYjhAz6GgDco4gAAAAA4BWKCACwieHDh5uOEDLoawBwjyICAAAAgFfCTQcAAAS/z2eYed9Bk8y8LwDAPa5EAIBNjB8/3nSEkEFfA4B7FBEAYBMTJkwwHSFk0NcA4B5FBKqFsjIp95i0Zoe0+LsL29O2SDsOSaUuc9kAX+nfv7/pCCGDvkZ1cOqstHm/9GnmhW3/+l5at1vKP2EsFqoJ5kTA1lwuKWOXtDJL2nv00uc//KmgiI2W+sZLqR2lmpGBzQj4Sl5enukIVbr9uWYqOpkvpzNMTmeYklr11aMj3lajui1NR/OKHfoaqMzhQunLzdLaXdKZkorPfbHpwuNOTaWBiVLHpoHNh+qBIgK2lVcgzVsj7fLgs76gWFq2Qfp6u3R7bym5hf/zAaHm8PF9OlqQq79N2qTWjRNVcOKIHn/7Js1ZOllPjHrPdDyg2nOVSSu3Sh//IJ0trXr/LbnWT8+20m0pnGSDdxjOBFvalSf95RPPCojyCoqlt9OltM3+yQX4U1JSkukIbm3NyVDNqFi1atRJkhRbq4Him/dQfuFBw8m8F+x9DVzM5ZLmfW0N6fWkgChv7S7plU+lYyf9kw3VE0UEbOfAcenN5dZYzyv14Trpmx2+ywQEwqJFi0xHcGtrToY6tuglh8Oh0tISZWz5ROnrP9CN3UeZjua1YO9r4GKL1lrFwJU6VCDN/uLqPlsRWigiYCulP51pqeog98pd1o87i9ZKR4p8lw3wt6lTp5qO4NbWnAxl7l6lYVPqaugfovTHd0fqsRFzNKT3GNPRvBbsfQ2Ut3Gf9NU29/t48rl4sEBa8r3vcqF6o4gox+VyacaMGUpISFBUVJS6deum9PR0dezYUWPHjjUdD5JWb5Oyj/imrTMl0j/X+qatq5V7zBrHmv7TalJlZaYTIRgtWLDAdAS3tu1dqz+Mel8fPndM857MUVydFso+tMV0rCsS7H0NM0pdUuZea0js19ul48WmE0klpdKCb33X3upt0u7DvmsP1RcTq8sZM2aMFi9erClTpiglJUWrV6/WnXfeqby8PE2cONF0vJDnKpNWbPVtmxv3WatYxNX2bbueyj8hvbvaKhzKaxwrjeortY4zkwvw1r7D21VYnK+EFj0kSQ1im2p46mN6Z9kU3fWzp+R0OlVaWqLJf7tZLlepiorzFeYM16xHvquiZSA4fLfbmm9QdOrCNqdDSmkrjegl1TD0jerHHN/PZVi1VWrD5w+qwJWIn8ybN09z587VkiVLNGnSJA0cOFBPPvmk+vbtq5KSEqWkpEiSpk2bpqSkJDmdTi1cuNBw6tCyO0/KK/R9u9/u9H2bnig8Jb36qbTz0KXPHSqQXv/88svWAsFoa06Gatesr8b1Wp/f1i/5Vh0rPKjM3askSWFh4XrpgS/0xKh5alq/nZ6+d7GpuIBXvtsl/c9XFQsIyTq5lbFTejvN3P2I/PEZ9n22dJq5EagCRcRPpk+friFDhig1NbXC9vj4eEVERKhLly6SpISEBL366qvq3bu3iZghbY+PhjFd0q6hy7bLN1tnjy43cqlM1iXqfzE2FeWkp6ebjlCprJwMxTfrXmFbnVpxSmrTTyt/vHDCJffoLr3+4QQ9PPxNNarXKtAxPRbMfY3AKimV/lnFBbNtB61hToFWVuafz8ZSl7Qv3/ftonphOJOkvXv3KjMzU48++uglz2VnZys5OVmRkdbiyXfffbck6fnnnw9oRvjvgGbiQOlyWeNp3SmTtPWANfm7QUxAYiHIbdy4UY0aNTId47J+d8vLl90+88GV5x/vObhJc5dN1aSRf1dMdN1ARbsiwdzXCKyN+6QTp93v45A1sblbgOvioyek4jP+aXtfvtSOfwJwgyJCVhEhSU2aNKmwvbi4WOnp6Ro6dGjAsjgcjoC9l9388tEP1T7l1grbqlpporLnHyl336tjRaflcERdZTrvRMXU1wN/9ez00TW9B2rv5jT/BkJQuNyJjPJmzpzp0T7+8NlLVz/bf/Lbg1W/dlNNe2eYJOnZ+z5Sreg6bl/jj2NiVX0ome1rBJee//G4rrv9Bbf7lElam7lbjkFtAxPqJ3GtuuquP62vsM0Xn4uS9NjjTynjI06YeuvxF96UZB27yj+2kzIPV3ehiJAUF2fNHsrKyqpQMLz44ovKzc1Vjx49TEVDOWWlJbZq152SM54v6XH2DHf/QfXw/lMGxnsAV+nsqRNV7lNWVqazp6vez9dcfvz8cpUyKQLuOco8LTeqMZfLpe7duys3N1czZsxQ8+bNtXDhQi1dulTZ2dlas2aN+vTpU+E1AwYM0IQJEzR8+HBDqUPPknXSlx7eafrcmZaLz6xcTrO60n/+4spzXalZX0jbDlx+TsQ5taOkp38lhTF7KSRs2eJ+OdTExERt3uz+H0GnTp18Gem8z2f4pdkqDZrk+zar6mfJbF8juBwpkp77qOr9BneWhnbzf57yTpdIk+d7tiy4N5+LkjT6hsAPz6oOJv/5LUnSC4+PrfC4OuKriSSn06kFCxYoOTlZ48aN0+jRoxUXF6fx48crPDxcXbt2NR0RklrUt1e7VRmY6L6AOLcPBQTOeeaZZ0xHCBn0Nc5pEOP+y7RDUkSY1Dc+YJHOiwy3lgT3B1OfjbAPhjP9pEOHDlq+fHmFbffcc48SExMVHR19ftvZs2dVWloql8uls2fP6tSpU4qMjLTdeDc76thUCndKJT5eRi+5uW/b81RiM2lYivThd9aH0LmCwuGwzipd214akGgmG4LTyJEjTUcIGfQ1yrvzWms1vT2HKx6vJSk8TLo/VapXy0y25ObSgeO+bbNpHam+ob8P7INznG6sXbv2/P0hzvntb3+r6OhorVy5UqNGjVJ0dLT27NljKGFoqRUpdW/j2zbr1pQ6t/Btm94Y0El67OdS7/YXtiU3lx4YKN3ex7qREXBOYqL9qso5S5/QxFn9NWfpE6ajeMWOfQ3/iYqQHhok3d1PatPwwvafJUlP/NI6yWVKvwSrsPGl6zpYJ7QAdygiKlFUVKSsrKxLJlW/8847Kisrq/DTpk0bMyFD0ODO1mVjX/l5V/PDhVrWt85ynXN/qnWVggM47G7XgUydOFWglx9coYKTR7T7wEbTkYArFh4m9WwrPTz4wrb/6C7VN7wEd4MYqW+C79qLqy31bue79lB9MZypEjExMSotLTUdAxdpWFv65TXS4ipu/OOJxGYcKAF/yty1Sj07WN+4eiTcpA27VqpNk2TDqYDq55bu0ub9Uv5VLhDlkDTqWqkG3w7hAX5NYDv9O1rjP93drK2q1Sea1rUuS3O2H3YyYMAA0xG8UnjyqD7++q9atHKmioqPKbWbfeYZ2K2vEdqiIqSxA6TXPpNOVnLzOU9WZRrRmxvMwXMUEbAdh8M60NWsIX25qeoVji7WoYl07/XWHAvATmbPnm06gldq16yve29+Vv2Sb9GaTR8r77h97hNht74GmtaVHrpJ+vsKKa/Qu9fWCJdG9JJ6cXUeXmBOBGzJ6bDGoj50k7WKhCdqRUrDe0m/u5ECAvY0btw40xG80rnt9dqwc4Ukaf2ONHVpe4PhRJ6zW18DklVI/H6otTx4uIff8Do1lR7/BQUEvMeVCNhau0bWjeK2H5IydkrZR6SDBRduvFO3pjVxuWtL6ZrWvp2UDQRaWlqa6Qheaduks8LDIvTY7AFKat3XVvMh7NbXwDk1wqVbe0iDkqVvd0pbcqWcIxeGOYU7pWb1pLYNraXEm9Y1mxf2RREB23M4pITG1o8klbqkMyXWqktMDgPM+s3Q6aYjACGpVqR1RWJgonVi7Uyp9d8aYZKTcSjwAb5iodoJc0rRNUynAAAgODgc1t2tAV+iFgUAm9i8ebPpCCGDvgYA96hLAcAm5s+fr5EjzSyTOmiSkbc1xmRfA4AdcCUCAGxi2rRppiOEDPoaANyjiAAAAADgFYoIAAAAAF6hiAAAm5g1a5bpCCGDvgYA9ygiAMAmkpPtc7M2u6OvAcA9iggAsInU1FTTEUIGfQ0A7lFEAAAAAPAKRQQA2ESvXr1MRwgZ9DUAuEcRAQA2kZGRYTpCyKCvAcA9iggAAAAAXqGIAAAAAOAViggAsImFCxeajhAy6GsAcI8iAgAAAIBXKCIAwCaGDx9uOkLIoK8BwD2KCAAAAABeCTcdAAAQ/D6fYeZ9B00y874AAPe4EgEANjF+/HjTEUIGfQ0A7lFEAIBNTJgwwXSEkEFfA4B7FBFAEDh99sLjE6fN5UBw69+/v+kIIYO+xuWUlUnHT174c0mpuSyAacyJAAzJPSat3iZtPSDlFVzY/uRCqV4tqX1DqW+C1K6h5HCYy4ngkZeXZzpCyKCvcU6pS9qwV/p2h7TnSMUTPY/Pl5rWlTq3kPrGS3WizeUEAo0iAgiwgmJpYYb0Y07l++SfkNaekNbullo1kO681vqgAoLd7c81U9HJfDmdYXI6w5TUqq8eHfG2GtVtaToa4LVN+6QF30r5Jy//fKlL2nvU+vl0g9S/ozS0m1SDb1cIAQxnAgJoa640/WP3BcTFso9IM/5X+irLf7lgD0lJSaYjuHX4+D4dLcjVrEfW6V/PF+l/Ju/UsROHNGfpZNPRvBbsfQ3/crmskz1vpVVeQFzymjIpbYt1vC5/dRmorigigADZvF96a7lUfMb715a6pAUZUvoW3+eCfSxatMh0BLe25mSoZlSsWjXqJEmKrdVA8c17KL/woOFk3gv2vob/uMqkeWukVVd44uZQgfRfn0l5hb7NBQQbigggAI6dlOaukkrLKt/nlbusH3c+/E7acci32WAfU6dONR3Bra05GerYopccDodKS0uUseUTpa//QDd2H2U6mteCva/hPyu2SGt3ud+nquN14Snpv1cw8RrVG0VEOS6XSzNmzFBCQoKioqLUrVs3paenq2PHjho7dqzpeLCpsjLpg2+kU2er3rfKtiS9v0Y6U3L1bflKmZvCCL61YMEC0xHc2pqToczdqzRsSl0N/UOU/vjuSD02Yo6G9B5jOprXgr2vq5NgOobkFUgfr/dNW/uPSZ9t9E1bQDBi6k85Y8aM0eLFizVlyhSlpKRo9erVuvPOO5WXl6eJEyeajgebyj5iDWXylcOF0ne7rZVATDl2Ulq5Vfpmp1R0SqpZQ+rZ1ppUGFfbXC6YtW3vWv1h1Pu6vsuvdKQgV//55s+UfYgxeLjU7sPWGf8Ne62z9XG1pesSrONaZIS5XF9s8u3Vg7TN0sBEKcrg3wnwF4qIn8ybN09z585VWlqaUlNTJUkDBw7UunXr9M9//lMpKSk6ffq0HnjgAX322Wc6ceKEevTooTfeeEOJiYmG0yOYrdrm+za/yjJXROQek17/vOIyhyfPSCu2Smt2SONulNo2NJMN5uw7vF2FxflKaNFDktQgtqmGpz6md5ZN0V0/e0pOp1OlpSWa/Leb5XKVqqg4X2HOcM165DvDyRFoa7ZbV2cl6+qqZJ0c+XCd9O1OacIgqWZk4HOdPGOdoPGl0yXW0KjrO/i2XSAYMJzpJ9OnT9eQIUPOFxDnxMfHKyIiQl26dFFJSYni4+P17bff6siRIxo0aJBuv/12Q4lhB2Vl0hYfXoU4Z2++NeY20Epd1molJyuZHH62VHo7zfrghO+lp6ebjlCprTkZql2zvhrXa31+W7/kW3Ws8KAyd6+SJIWFheulB77QE6PmqWn9dnr63sWm4lYpmPvazvYetQqIMl0oIFTu8f5jFwqMQNt5yDqG+Zovr0QDwYQiQtLevXuVmZmpESNGXPJcdna2kpOTFRkZqVq1aumpp55S8+bNFRYWpoceekgbNmzQqVMGvs3BFo4X++/Lfs4R/7TrzsZ91j0sKhvDXFZmFRjrdgc0VsjYuDF4B1hn5WQovln3Ctvq1IpTUpt+WvnjwvPbco/u0usfTtDDw99Uo3qtAh3TY8Hc13bmyYpHP+ZYx5lAyznqn3b3+qldwDSGM8kqIiSpSZMmFbYXFxcrPT1dQ4cOvezrVq9erTZt2igqKspnWRzcmrhaaZrQTyOnfVVhW1UrMFX2/CPvVfzzHfeO04Yv/noV6bx34+jZSh74WzmdYZXu4yot0fOvL9G/X/11AJNVD48++qjb52fOnOnRPv7w2UvuZ7/+7paXL7t95oMrzz/ec3CT5i6bqrFcyfUAACAASURBVEkj/66YaM/unuiPY2JVfSiZ7evq7Dev7VNMvWZu9ymTdMMvfqON6X8PTKif3DT270rqP7rCNl8cr48XS2HhEXKVcok2FDz+wpuSrGNX+cd2UubhagdciZAUFxcnScrKqniK5MUXX1Rubq569OhxyWvy8/M1fvx4Pf/88wHJCHtyuPmyHcxtV8YZXqPqpVQcDoWF1whMINjK5LcH62D+Hk17Z5gemz1AJ4qPm46EAPP02OA0cAxxOPx4vHbwdQvVj6PM03KjGnO5XOrevbtyc3M1Y8YMNW/eXAsXLtTSpUuVnZ2tNWvWqE+fPuf3Ly4u1uDBg9W/f3+KCLiVe0z687892/fcGa2LrzhU5p5+UkrbK8t1pZZvlj5aV/V+NyZJt3Svej9UtGWL+5WMEhMTtXnzZrf7dOrUyZeRzvt8hl+ardKgSb5vs6p+lsz2dXX22mfSzryqz0U8NEhq3zgwmc5Z/J3nN/T05nhdI0z68+2SzU5G4wpN/vNbkqQXHh9b4XF1RGksyel0asGCBUpOTta4ceM0evRoxcXFafz48QoPD1fXrl3P71tSUqKRI0cqISGBAgJVahQrRfjp5FaL+v5p151ebaUwD44a/QwuP1udPfPMM6YjhAz62j+uS3BfQDhkHTfbNQpYpPOa1/NTu/UpIFA9MSfiJx06dNDy5csrbLvnnnuUmJio6Ojo89vuv/9+uVwuvfXWW4GOCBsKc0qt46TtB33bbq1IqWGsb9v0REyUNKyHtGht5fvc3IV7RfjLyJEjTUcIGfS1f3RrJSXtkjZdZsUihySnU7q9t5kv3W3j7NUuYBpXItxYu3atUlJSzv95z549mjt3rr788kvVrVtXMTExiomJUXZ2tsGUCHbXtvd9m33aS05DZ7Zu6CiN6ivVrVlxe0yU9Oue0pAuZnKFAu5JEzj0tX+EOaUx/aXUTpdepW1eTxr/s8APYzqnYazU3g9XQPpwZRbVFFciKlFUVKSsrCw9+OCD57e1bt3a4xnrwDnXtJL+9b21QocvhDmtIQEm9W4n9WxjjW1+/XNr2zO/8myoE0LLnKVPaOPur5Tc5jr9Zuh003EQBMLDpF+lSD/vKk2eb22b9HMzQzQvNqCTtOOQ79pLaiY1NnDVGAgEPvIrERMTo9LSUj300EOmo8DmwsOk2/tUvZ+nft5VahDju/aulNMpxZc7Y0gBgYvtOpCpE6cK9PKDK1Rw8oh2H+DeC7ggKuLC42AoICSpcwupa0vftBUZLv26l2/aAoIRVyKAAEhqLvXvKK3YWvk+nqzy0aGJNJBRFiFrwIABpiN4JXPXKvXsMFiS1CPhJm3YtVJtmiQbTuUZu/U1fMPhkEb0tm4Qd9TNDe88OV6P6B0cJ3wAf+HcIRAgw1KubtWihMbSb/pzxj+UzZ4923QErxSePKq5n07TY7MHaN4Xz6vwpH1u3Wu3vobv1I6Sxg+68gLAIauA6BngJbiBQOPrCBAgzp/OcI3qW/EyvievG9JV+t2NUqQXr0P1M27cONMRvFK7Zn3de/Oz+su4NI0e8kfVrhkkY1Y8YLe+hm81iJEmDvG+EIiLkSYMMj9vDQgEhjMBAeRwWJOSOzaVvsqSvt4uFZ66/L6R4dYH2A0dpSZ1ApsTwSktLc10BK90bnu9Ps14R/2Sb9H6HWm6uddo05E8Zre+hu/VipTu7metsLdiq5S5V3JVsrZKo1jp+g7WynmRfLNCiOBXHTCgTrQ0tJt1T4XcY1LOUen4SalMUkykNcmweT2pBv9CYWNtm3RWeFiEHps9QEmt+9pmPgRQXnxj6+fEaWuuxL586dRZa2hpXG2pZX2pYW1uKIfQw1cUwKAwp1UwBMvKJICvsawrqotakdZV5I5NTScBggNzIgDAJjZv3mw6QsigrwHAPYoIALCJ+fPnm44QMuhrAHCP4UwAYBPTpk3TyJEjjbz3oElG3tYYk30NAHbAlQgAAAAAXqGIAAAAAOAViggAsIlZs2aZjhAy6GsAcI8iAgBsIjmZ+ywECn0NAO5RRACATaSmppqOEDLoawBwjyICAAAAgFcoIgAAAAB4hSICAGyiV69epiOEDPoaANyjiAAAm8jIyDAdIWTQ1wDgHkUEAAAAAK9QRAAAAADwCkUEANjEwoULTUcIGfQ1ALhHEQEAAADAKxQRAGATw4cPNx0hZNDXAOAeRQQAAAAAr4SbDgAACH6fzzDzvoMmmXlfAIB7XIkAAJsYP3686Qghg74GAPcoIgDAJiZMmGA6QsigrwHAPYoIAF4pKZU27pP+90fpv1de2P7vH6Qfc6QzJeayVXf9+/c3HSFk0Nf+U3hKWrtLWvzdhW3/85X05SZp5yHJVWYuGwDPMScCgEdOnZW+2Ch9vV0qOn3p859ttP4bHSH1bi/dlCzFRAU2Y3WXl5dnOkKVbn+umYpO5svpDJPTGaakVn316Ii31ahuS9PRvGKHvrabA8elzzKlH7KlUlfF577bbf1IUsPaUv+OUr8EKYxTnUDQoogAUKWtudL7a6RjJ6vet/islL5F+m6XNKK31K2V//MhOBw+vk9HC3L1t0mb1LpxogpOHNHjb9+kOUsn64lR75mOB0NcZdZVhv/98dLi4XLyCqVFa62rFaP6So3r+D8jAO9R4wNw69ud0l+/9KyAKK/otDXcKW2zf3KFoqSkJNMR3Nqak6GaUbFq1aiTJCm2VgPFN++h/MKDhpN5L9j72i5cLmneaunjHzwrIMrbc0R6ZZm057B/sgG4OhQRACq1aZ/0/tfS1QxR/nCddUYRV2/RokWmI7i1NSdDHVv0ksPhUGlpiTK2fKL09R/oxu6jTEfzWrD3tV18uE5au/vKX198Vvrrculwoc8iAfARiggAl3XytPSPb6ouIF65y/pxZ2GG91cycKmpU6eajuDW1pwMZe5epWFT6mroH6L0x3dH6rERczSk9xjT0bwW7H1tB1tzpRVb3e/jyfGj+Iw1nJIJ10BwoYgox+VyacaMGUpISFBUVJS6deum9PR0dezYUWPHjjUdDwioTzZIBcW+aevUWWnJOt+0dTVcLilzrzW04uMfpI17rW12sWDBAtMR3Nq2d63+MOp9ffjcMc17MkdxdVoo+9AW07GuSLD3dXlnSqxhh0u+l5aul3YflsoMf+F2lVknD3xlxyFp3W7ftQfg6jGxupwxY8Zo8eLFmjJlilJSUrR69WrdeeedysvL08SJE03HAwLm9Fnpmx2+bfOHbGlYsRQb7dt2PbUrT5q76tIrInVrSvfdILWJM5Oruth3eLsKi/OV0KKHJKlBbFMNT31M7yybort+9pScTqdKS0s0+W83y+UqVVFxvsKc4Zr1yHdVtAx3MnZak5BPnb2w7dNMqVUDafQNUr1aZnJtzbUmSPvSyiypZ1vftgngynEl4ifz5s3T3LlztWTJEk2aNEkDBw7Uk08+qb59+6qkpEQpKSmSpLvuukuNGzdWnTp11Lt3b3399deGkwO+t2GvdNrH93twlUnr9vi2TU/tz5dmfSEdv8yVleMnpTc+l3KPBT5XdbI1J0O1a9ZX43qtz2/rl3yrjhUeVObuVZKksLBwvfTAF3pi1Dw1rd9OT9+72FTcauGHPdJ7X1csIM7JOSK9/pk1LNGEjJ2+b3PPYd8XJgCuHEXET6ZPn64hQ4YoNTW1wvb4+HhFRESoS5cukqQnn3xSOTk5On78uKZNm6Zf//rXJuICfpV9xE/tGlpl5ZMN1k3yLjfEo0zWc8s2BDyW19LT001HqFRWTobim3WvsK1OrTgltemnlT8uPL8t9+guvf7hBD08/E01qhe86/8Gc19LVlH+0TrJUcnzZZKOnJBWbw9kqguq2zEEwKUYziRp7969yszM1KOPPnrJc9nZ2UpOTlZkZKSkC8v+lZWVKSIiQgcOHNCpU6cUFcVdtVB97PfTWXkTZ/uLTllXVtwNES+Tdbftk6elmpGBSua9jRs3qlGjRqZjXNbvbnn5sttnPnjhtuZ7Dm7S3GVTNWnk3xUTXTdQ0a5IMPe1JG0/KOV7sFjBmu3SoGT/5ynvdIl0uMg/be8/JqX4p2kAXqKIkFVESFKTJk0qbC8uLlZ6erqGDh1aYftdd92lRYsW6fTp0xo/frxPCwiHo7LzSkDg3PHst2rcrleFbVWtoHK55x+56P5iW7fvlsMR2EHNDVok6+4XMqvcz1UmtWiXqPz95iYCX+5ERnkzZ870aB9/+Oylq5+pO/ntwapfu6mmvTNMkvTsfR+pVrT7O4n545hYVR9KZvvaE4k3/B8NfmBulfsdyD8lhyOwE5GiYxtq7KxDFbZdyfFDuvQY8vKrb+iWuROuIh3gX4+/8KYk69hV/rGdlHm4MgNFhKS4OGtGZVZWVoWC4cUXX1Rubq569OhRYf/33ntP77zzjpYuXarCQgZoovopLTnjp3YDP0D7THGB5/uePO7HJHj/qb2mI1Qbpz38XT1THPjPKH8dP6y2DU3yAHAJR5mn5UY15nK51L17d+Xm5mrGjBlq3ry5Fi5cqKVLlyo7O1tr1qxRnz59Lvvabt26acGCBerQoUOAUwP+M+9ra8lIT5w7g3jxGcPLSW4u/XbAFce6Yi//r5RztPIhTQ5ZqzM9fHMgU11qyxb3V0ESExO1ebP7W4B36tTJl5HO+3yGX5qt0qBJvm+zqn6WzPa1J06XSFMXVb0AQv+O0m09A5PpnLIyaco/raGEVfHm+CFJI3pL1yVceTbA3yb/+S1J0guPj63wuDpiYrUkp9OpBQsWKDk5WePGjdPo0aMVFxen8ePHKzw8XF27dq30tWfOnNHu3bsDFxYIgJb1/dNuCz+1W5VBnaueExHoceNX4plnnjEdIWQEe19HhksDEit/3iEpPEy6wcD5LYfDf8cQf7ULwHsUET/p0KGDli9frhMnTig7O1vPPfecNmzYoMTEREVHW+NJjxw5ogULFujkyZM6c+aM3njjDe3fv/+S4U6A3XVpKTn9MISzW0vft+mJri2lX7mZjfnrnlJyi8DluVIjR440HSFk2KGvb+4s9WlvPb74n2tEmPTbVKlhbMBjSfLPv/V6taQW9XzfLoArQxHhxtq1a8/fH+Kc1157TU2bNlXjxo31j3/8Q//+97/Pz6kAqou6NaXOPv5S3bah1MzgF4DUTtIf/sP6b/ltT/6HdENHc7m8kZjo5tRzkJqz9AlNnNVfc5Y+YTqKV+zQ106ndEcf6eHBFW/C9strpCnDpI5NzWXr0UaKjvBtm/3irb8zgODAP8dKFBUVKSsrq8JVhgYNGmjFihU6fvy48vPztXLlSl1//fUGUwL+M7SbFOajI4RD0i3dq9zN7xrFVrwi8asUc2dqQ8GuA5k6capALz+4QgUnj2j3gY2mI1U7DodVoN/V78K2QclSbcOrjtcIl4ZUPhLYa/Vq2afYB0IFqzNVIiYmRqWlpaZjAMY0qSMN7Sr964erb2tAovVFB6Elc9cq9ewwWJLUI+Embdi1Um2a2GDyCXziho7W/Vd2HKp6X3ccku68Vory8ZUNAFeHIgJApW5Msm4a9bWbu95WtapK15bW8ApcvQEDBpiO4JXCk0f18dd/1aKVM1VUfEyp3YJ/nsE5duvrYOR0SKNvkN74XMqtZEVaT1ZlGt5b6tCk6v0ABBZFBIBKORzWkoq1o6TPMt2vcHQ5N3SUhvXw3bCoUDd79mzTEbxSu2Z93Xvzs+qXfIvWbPpYecftc58Iu/V1sIqJkibcJP3PV9KWXO9eGxUhjextza8AEHz4aAfgltNhzY94dIh1LwVPNK8njR9krXpEAeE748aNMx3BK53bXq8NO1dIktbvSFOXtjcYTuQ5u/V1MKsVKT0wULrjWmvRhqo4JHVrJU3+JQUEEMy4EgHAI60aSI/cLO09Kn23W8o+Ih04Lp0psZaTbFzHWsO9e2ur2HD4YYnYUJeWlmY6glfaNums8LAIPTZ7gJJa97XVfAi79XWwczika9tLvdpKG/dJm/ZZN4A8UiS5XFJ0DevkQ+s4qXc7ayI1gOBGEQHAKy3qm7tpHOznN0Onm46AIBLmtOZJdTV0zxgAvsNAAwAAAABeoYgAAJvYvHmz6Qghg74GAPcYzgQANjF//nyNHGlmmdRBk4y8rTEm+xoA7IArEQBgE9OmTTMdIWTQ1wDgHkUEAAAAAK9QRAAAAADwCkUEANjErFmzTEcIGfQ1ALhHEQEANpGcbJ+btdkdfQ0A7lFEAIBNpKammo4QMuhrAHCPIgIAAACAVygiAMAmevXqZTpCyKCvAcA9iggAsImMjAzTEUIGfQ0A7lFEAAAAAPAKRQQAAAAAr1BEAIBNLFy40HSEkEFfA4B7FBEAAAAAvEIRAQA2MXz4cNMRQgZ9DQDuUUQAAAAA8Eq46QAAgOD3+Qwz7ztokpn3BQC4x5UIALCJ8ePHm44QMuhrAHCPIgIAbGLChAmmI4QM+hoA3KOIABAyXGXSwYILfz5YYG2zi/79+5uOEDLs1NclpdK+/At/zj8hldno9xqAPTEnAkC15nJJm/ZLq7dJOw5Jp0suPDf9X1JkuNS+kXRdgpTYTHIG8amVvLw80xGqdPtzzVR0Ml9OZ5iczjAlteqrR0e8rUZ1W5qO5pVg7+szJdK6PdI326Xso1Kp68Jzz3woxURav8/XdZBaN5AcDnNZAVRPFBEAqq3sI9L7X0u5xyvf53SJVWRs2i81rSuN6iu1rB+4jNXJ4eP7dLQgV3+btEmtGyeq4MQRPf72TZqzdLKeGPWe6XjVxo850oJvpcJTle9TdFrK2GX9JDaTbu8j1a0ZuIwAqr8gPucGAFcufYv0yjL3BcTFco9JMz+RVm71X66rkZSUZDqCW1tzMlQzKlatGnWSJMXWaqD45j2UX3jQcDLvBWNfl7qkD76R/r7CfQFxsc37pRc+lrbm+i8bgNBDEQGg2knbIi3+7srmO7jKpEVrpRVBWEgsWrTIdAS3tuZkqGOLXnI4HCotLVHGlk+Uvv4D3dh9lOloXgu2vnaVSe+vkb7efmWvP3VWeitNyjrg01gAQhhFBIBqZVee9NF37vd55S7rx53Fa6U9h32XyxemTp1qOoJbW3MylLl7lYZNqauhf4jSH98dqcdGzNGQ3mNMR/NasPX16m3S2l3u96nq97rUJc1d5d1VDACoDEVEOS6XSzNmzFBCQoKioqLUrVs3paenq2PHjho7dqzpeACqUFJqna31xcI0ZZLmfV1xwqppCxYsMB3BrW171+oPo97Xh88d07wncxRXp4WyD20xHeuKBFNf55+Qlnzvm7ZOnJYWZfimLQChjYnV5YwZM0aLFy/WlClTlJKSotWrV+vOO+9UXl6eJk6caDoegCqsz5EOFVS9n6cOFkgbcqRrWvuuzepq3+HtKizOV0KLHpKkBrFNNTz1Mb2zbIru+tlTcjqdKi0t0eS/3SyXq1RFxfkKc4Zr1iNVXDaCVmy1VmPylR+ypbwCqWGs79oEEHq4EvGTefPmae7cuVqyZIkmTZqkgQMH6sknn1Tfvn1VUlKilJSUCvt/8MEHcjgcWrhwoaHEAC72VZbv21y1zfdtVkdbczJUu2Z9Na53oeLql3yrjhUeVObuVZKksLBwvfTAF3pi1Dw1rd9OT9+72FRc2zhbKq3Z4ft2v+L3GsBVooj4yfTp0zVkyBClpqZW2B4fH6+IiAh16dLl/LaTJ0/q+eefV3JycqBjAqjEmRJplx/mMOw8ZH2RCwbp6emmI1QqKydD8c26V9hWp1acktr008ofL5xsyT26S69/OEEPD39Tjeq1CnRMjwVLX+89KhWf8X27WfZbMAtAkGE4k6S9e/cqMzNTjz766CXPZWdnKzk5WZGRkee3TZ8+Xffdd5+WLFkSyJgA3NiX75+79LrKpP35Uus437ftrY0bN6pRo0amY1zW7255+bLbZz648vzjPQc3ae6yqZo08u+Kia4bqGhXJFj6eu9R/7R74JhVeNfgWwCAK8ThQ1YRIUlNmjSpsL24uFjp6ekaOnTo+W27d+/WkiVLtHbtWr8UEQ5uKwpckfjew/WL/1txMmxVKzBV9vwjF90X7Wc//5V2rP3wKtJ55nInMsqbOXOmR/v4w2cvXX2FNvntwapfu6mmvTNMkvTsfR+pVnQdt6/xxzGxqj6UzPZ1ef1G/km9bnmiwjZf/F67yqS4Jq1UeCTnKhMCKO/xF96UZB27yj+2kzIPz8hRREiKi7NOMWZlZVUoGF588UXl5uaqR48e57dNnDhRzz33nCIiIgKeE0Dl/HuQttcHQLB6/6m9piPYjl9/rx2MaAZw5SgiJLVr105du3bVn/70J9WvX1/NmzfXwoULtXTpUkk6P6n6yy+/VEFBgW655Ra/ZfG0+gNQ0baD0hufV9x28RWFc86dqa3s+Yst+/c/1T4AI1u2bHG/HOrMmTOrXG765ZcvP6zoan0+wy/NVskfx8Sq+lky29flLd8sfbSu4jZf/F47JB3av1tRnA8DfGryn9+SZB27yj+ujjgNIcnpdGrBggVKTk7WuHHjNHr0aMXFxWn8+PEKDw9X165dJUkrVqzQmjVrFBcXp7i4OH311VcaM2aMpk+fbvhvAKBFPf+06/Bj29565plnTEcIGcHS1/763WsYKwoIAFeFKxE/6dChg5YvX15h2z333KPExERFR0dLsoYy3X///eefHzFihEaPHq077rgjoFkBXCq6htSsnjUJ2pea15cig+TL1siRI01HCBnB0tctG0gRYb5fIaxdQ9+2ByD0cCXCjbVr11a4P0RsbKxatGhx/icyMlL169dXbCx37AGCQb94e7R5pRITE01HCBnB0tdREVKPNr5vt1+C79sEEFooIipRVFSkrKysCpOqL5aWlqbhw4cHMBUAd3q2lWKifNde7SgppY3v2gtFc5Y+oYmz+mvO0ieq3hmXldpRcvpwfnX7RlKrBr5rD0BoooioRExMjEpLS/XQQw+ZjgLAQ1ER0sjevmvv9j7BM5TJjnYdyNSJUwV6+cEVKjh5RLsPbDQdyZaa1ZN+luSbtsLDpDv6+KYtAKGNOREAqpWuLaXrO0irsirfx5PVa/p3lDq38F0uXxgwYIDpCF7J3LVKPTsMliT1SLhJG3atVJsmyYZTeSbY+vrmLtLOPGnHocr38eT3ekQva1I1AFwtiggA1c5tPSWVSau2Xdnrb+goDUuper9Amz17tukIXik8eVQff/1XLVo5U0XFx5TaLTgmK3si2Po6PEz67QBpTrq1nLG3HJJG9Jb6tPd1MgChiuFMAKodp0P6dS/p/1wn1arh+etiIqX7bpB+3dO3Y9B9Zdy4caYjeKV2zfq69+Zn9ZdxaRo95I+qXbO+6UgeC8a+joqQfnej9MtrpDAvPr0bx0oP38xkagC+xZUIANWSw2GtatOxqfTNDmn1Nulw0eX3jastXZcg9W4n1YoMaEyvpKWlmY7glc5tr9enGe+oX/ItWr8jTTf3Gm06kseCta/DnNKgZKl7a+mrbdbv9onTl9+3VQNraF+P1taVDADwJYoIANVarUjpxiRpYKJ07KSUc1QqLJbkkGKjrHX460RbRQd8q22TzgoPi9BjswcoqXVf28yHsIMGMdIt3a2rEnmF0r6j0skz1hW0BjFSi/rBXRADsD+KCAAhweGQ6tWyfhA4vxk63XSEas3psIYrNWayNIAAY04EANjE5s2bTUcIGfQ1ALhHEQEANjF//nzTEUIGfQ0A7jGcCQBsYtq0aRo50swyqYMmGXlbY0z2NQDYAVciAAAAAHiFIgIAAACAVygiAMAmZs2aZTpCyKCvAcA9iggAsInkZO6zECj0NQC4RxEBADaRmppqOkLIoK8BwD2KCAAAAABeoYgAAAAA4BXuEwEAQaJTp05un582bVqV+6BqnvQhfQ0A7nElAgBs4umnnzYdIWTQ1wDgHkUEAAAAAK9QRAAAAADwCkUEAAAAAK9QRAAAAADwCkUEAAAAAK9QRAAAAADwCkUEAAAAYFhaWpqSk5MVHx+v+++/X6WlpaYjuUURAQAAABjkcrl0//33a8GCBdq+fbsKCgr07rvvmo7lFkUEAAAAYFBGRoaaNWumpKQkSdJvfvMbLVq0yHAq9ygiAAAAAIP27t2rli1bnv9zq1atlJOTYzBR1cJNBwAAAADs6NOVa7V5+55Ltr/634suedyqWSP96uYbLttOWVmZHA5HhT8HO4oIAAAA4AqkdO6g9G9+UGmpq8L23ENHLnn8q8HXV9pOy5YtlZ2dff7POTk5atGihY/T+hbDmQAAAIAr0KBerK7v2aXK/a5Jiler5o0rfb5nz57at2+fNm3aJEmaM2eObrvtNp/l9AeKCAAAAOAKDezbXTE1oyt9PiI8TD9P7e22jbCwML399tsaPny42rdvr5iYGN1zzz2+jupTjjI7DLoCAAAAgtS3P2zWP5etvOxzg65L0aDrUwKcyP+4EuGFjz76SL/85S/VqFEjRUZGqnXr1ho1apQ2bNhgOhoAAAAM6dm1o5o2anDJ9jq1a6l/n24GEvkfRYQHSkpKdMcdd2jYsGFav369brvtNj388MPq3r27Fi1apH379pmOCAAAAEOcTqd+eWPfS7YPSe2tGhHVcx2j6vm38rEJEybogw8+0G9/+1vNnDlTtWrVOv9cTk6O6tatazAdAAAATGvfupmSO7TRxqzdkqSWTRupW1K82VB+xJyIKqxcuVL9+/fXkCFDtHTp0gpr+PrD5D+/5df2AQAAgMq88PhYj/ZjOFMVXnnlFUnSCy+84PcCAgAAALADrkRUITY2Vg0aNNCuXbtMRwEAAECQO3X6jE6fPqM6sTGmo/gVcyLcOHbsmAoLC5WSErhluRjOBAAAAFMYzuQD5y7SHDp0yHASAAAAIHgwnKkK8fHx2rlzpz799FMNGjSownNbt25Vx44dDSUDAAAANT4TVwAAATZJREFUzKCIqML8+fN1++23KywsTLfeeqvi4+N16NAhrV69WklJSVq8eLHpiAAAAEBAUUR4YNmyZXrppZeUkZGhU6dOqVGjRurdu7ceeeQR3XDDDabjAQAAAAFFEQEAAADAK0ysBgAAAOAViggAAAAAXqGIAAAAAOAViggAAAAAXqGIAAAAAOAViggAAAAAXqGIAAAAAOAViggAAAAAXqGIAAAAAOAViggAAAAAXqGIAAAAAOAViggAAAAAXqGIAAAAAOAViggAAAAAXqGIAAAAAOAViggAAAAAXqGIAAAAAOAViggAAAAAXqGIAAAAAOAViggAAAAAXqGIAAAAAOAViggAAAAAXqGIAAAAAOAViggAAAAAXqGIAAAAAOAViggAAAAAXqGIAAAAAOAViggAAAAAXvn/DEzFAB9BSAwAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 1020.99x385.28 with 1 Axes>"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from qiskit.circuit import Parameter\n",
    "\n",
    "theta = Parameter('θ')\n",
    "\n",
    "n = 5\n",
    "\n",
    "qc = QuantumCircuit(5, 1)\n",
    "\n",
    "qc.h(0)\n",
    "for i in range(n-1):\n",
    "    qc.cx(i, i+1)\n",
    "\n",
    "qc.barrier()\n",
    "qc.rz(theta, range(5))\n",
    "qc.barrier()\n",
    "\n",
    "for i in reversed(range(n-1)):\n",
    "    qc.cx(i, i+1)\n",
    "qc.h(0)\n",
    "qc.measure(0, 0)\n",
    "\n",
    "qc.draw('mpl')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-05-07T13:51:25.524355Z",
     "start_time": "2019-05-07T13:51:25.518233Z"
    }
   },
   "source": [
    "We can inspect the circuit's parameters"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-08-22T14:45:17.206387Z",
     "start_time": "2019-08-22T14:45:17.203148Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{Parameter(θ)}\n"
     ]
    }
   ],
   "source": [
    "print(qc.parameters)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Binding parameters to values"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "All circuit parameters must be bound before sending the circuit to a backend. This can be done in one of two ways:\n",
    "- The `bind_parameters` method accepts a dictionary mapping `Parameter`s to values, and returns a new circuit with each parameter replaced by its corresponding value. Partial binding is supported, in which case the returned circuit will be parameterized by any `Parameter`s that were not mapped to a value."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-08-22T14:45:17.572833Z",
     "start_time": "2019-08-22T14:45:17.209134Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<pre style=\"word-wrap: normal;white-space: pre;background: #fff0;line-height: 1.1;font-family: &quot;Courier New&quot;,Courier,monospace\">     ┌───┐                     ░ ┌─────────┐ ░                     ┌───┐┌─┐\n",
       "q_0: ┤ H ├──■──────────────────░─┤ RZ(2pi) ├─░──────────────────■──┤ H ├┤M├\n",
       "     └───┘┌─┴─┐                ░ ├─────────┤ ░                ┌─┴─┐└───┘└╥┘\n",
       "q_1: ─────┤ X ├──■─────────────░─┤ RZ(2pi) ├─░─────────────■──┤ X ├──────╫─\n",
       "          └───┘┌─┴─┐           ░ ├─────────┤ ░           ┌─┴─┐└───┘      ║ \n",
       "q_2: ──────────┤ X ├──■────────░─┤ RZ(2pi) ├─░────────■──┤ X ├───────────╫─\n",
       "               └───┘┌─┴─┐      ░ ├─────────┤ ░      ┌─┴─┐└───┘           ║ \n",
       "q_3: ───────────────┤ X ├──■───░─┤ RZ(2pi) ├─░───■──┤ X ├────────────────╫─\n",
       "                    └───┘┌─┴─┐ ░ ├─────────┤ ░ ┌─┴─┐└───┘                ║ \n",
       "q_4: ────────────────────┤ X ├─░─┤ RZ(2pi) ├─░─┤ X ├─────────────────────╫─\n",
       "                         └───┘ ░ └─────────┘ ░ └───┘                     ║ \n",
       "c_0: ════════════════════════════════════════════════════════════════════╩═\n",
       "                                                                           </pre>"
      ],
      "text/plain": [
       "     ┌───┐                     ░ ┌─────────┐ ░                     ┌───┐┌─┐\n",
       "q_0: ┤ H ├──■──────────────────░─┤ RZ(2pi) ├─░──────────────────■──┤ H ├┤M├\n",
       "     └───┘┌─┴─┐                ░ ├─────────┤ ░                ┌─┴─┐└───┘└╥┘\n",
       "q_1: ─────┤ X ├──■─────────────░─┤ RZ(2pi) ├─░─────────────■──┤ X ├──────╫─\n",
       "          └───┘┌─┴─┐           ░ ├─────────┤ ░           ┌─┴─┐└───┘      ║ \n",
       "q_2: ──────────┤ X ├──■────────░─┤ RZ(2pi) ├─░────────■──┤ X ├───────────╫─\n",
       "               └───┘┌─┴─┐      ░ ├─────────┤ ░      ┌─┴─┐└───┘           ║ \n",
       "q_3: ───────────────┤ X ├──■───░─┤ RZ(2pi) ├─░───■──┤ X ├────────────────╫─\n",
       "                    └───┘┌─┴─┐ ░ ├─────────┤ ░ ┌─┴─┐└───┘                ║ \n",
       "q_4: ────────────────────┤ X ├─░─┤ RZ(2pi) ├─░─┤ X ├─────────────────────╫─\n",
       "                         └───┘ ░ └─────────┘ ░ └───┘                     ║ \n",
       "c_0: ════════════════════════════════════════════════════════════════════╩═\n",
       "                                                                           "
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import numpy as np\n",
    "\n",
    "theta_range = np.linspace(0, 2 * np.pi, 128)\n",
    "\n",
    "circuits = [qc.bind_parameters({theta: theta_val})\n",
    "            for theta_val in theta_range]\n",
    "\n",
    "circuits[-1].draw()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "- `qiskit.execute` now accepts a `parameter_binds` keyword argument which, when specified as a list of dictionaries mapping `Parameter`s to values, will bind and execute a circuit on the backend for every mapping dictionary in the list."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-08-21T09:00:53.482684Z",
     "start_time": "2019-08-21T09:00:52.013988Z"
    }
   },
   "outputs": [],
   "source": [
    "job = execute(qc,\n",
    "              backend=BasicAer.get_backend('qasm_simulator'),\n",
    "              parameter_binds=[{theta: theta_val} for theta_val in theta_range])\n",
    "\n",
    "counts = job.result().get_counts()\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "In the example circuit, we apply a global $R_z(\\theta)$ rotation on a five-qubit entangled state, and so expect to see oscillation in qubit-0 at $5\\theta$."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-08-22T14:45:19.578574Z",
     "start_time": "2019-08-22T14:45:19.166876Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x11dce80a0>"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 576x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "fig = plt.figure(figsize=(8,6))\n",
    "ax = fig.add_subplot(111)\n",
    "\n",
    "ax.plot(theta_range, list(map(lambda c: c.get('0', 0), counts)), '.-', label='0')\n",
    "ax.plot(theta_range, list(map(lambda c: c.get('1', 0), counts)), '.-', label='1') \n",
    "\n",
    "ax.set_xticks([i * np.pi / 2 for i in range(5)])\n",
    "ax.set_xticklabels(['0', r'$\\frac{\\pi}{2}$', r'$\\pi$', r'$\\frac{3\\pi}{2}$', r'$2\\pi$'], fontsize=14)\n",
    "ax.set_xlabel('θ', fontsize=14)\n",
    "ax.set_ylabel('Counts', fontsize=14)\n",
    "ax.legend(fontsize=14)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-04-24T14:50:01.020312Z",
     "start_time": "2019-04-24T14:49:58.618Z"
    }
   },
   "source": [
    "### Reducing compilation cost"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Compiling over a parameterized circuit prior to binding can, in some cases, significantly reduce compilation time as compared to compiling over a set of bound circuits."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-08-22T14:45:41.843339Z",
     "start_time": "2019-08-22T14:45:19.579877Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Time compiling over set of bound circuits:  8.771650075912476\n"
     ]
    }
   ],
   "source": [
    "import time\n",
    "from itertools import combinations\n",
    "from qiskit.compiler import assemble\n",
    "from qiskit.test.mock import FakeVigo\n",
    "\n",
    "start = time.time()\n",
    "qcs = []\n",
    "\n",
    "theta_range = np.linspace(0, 2*np.pi, 32)\n",
    "\n",
    "for n in theta_range:\n",
    "    qc = QuantumCircuit(5)\n",
    "\n",
    "    for k in range(8):\n",
    "        for i,j in combinations(range(5), 2):\n",
    "            qc.cx(i,j)\n",
    "        qc.rz(n, range(5))\n",
    "        for i,j in combinations(range(5), 2):\n",
    "            qc.cx(i,j)\n",
    "\n",
    "    qcs.append(qc)\n",
    "    \n",
    "compiled_circuits = transpile(qcs, backend=FakeVigo())\n",
    "qobj = assemble(compiled_circuits, backend=FakeVigo())\n",
    "\n",
    "end = time.time()\n",
    "print('Time compiling over set of bound circuits: ', end-start)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-08-22T14:45:46.361352Z",
     "start_time": "2019-08-22T14:45:41.846044Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Time compiling over parameterized circuit, then binding:  0.8169369697570801\n"
     ]
    }
   ],
   "source": [
    "start = time.time()\n",
    "qc = QuantumCircuit(5)\n",
    "theta = Parameter('theta')\n",
    "\n",
    "for k in range(8):\n",
    "    for i,j in combinations(range(5), 2):\n",
    "        qc.cx(i,j)\n",
    "    qc.rz(theta, range(5))\n",
    "    for i,j in combinations(range(5), 2):\n",
    "        qc.cx(i,j)\n",
    "\n",
    "transpiled_qc = transpile(qc, backend=FakeVigo())\n",
    "qobj = assemble([transpiled_qc.bind_parameters({theta: n})\n",
    "                 for n in theta_range], backend=FakeVigo())\n",
    "end = time.time()\n",
    "print('Time compiling over parameterized circuit, then binding: ', end-start)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Composition"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Parameterized circuits can be composed like standard `QuantumCircuit`s.\n",
    "Generally, when composing two parameterized circuits, the resulting circuit will be parameterized by the union of the parameters of the input circuits."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-05-08T15:07:47.268889Z",
     "start_time": "2019-05-08T15:07:47.262971Z"
    }
   },
   "source": [
    "However, parameter names must be unique within a given circuit.\n",
    "When attempting to add a parameter whose name is already present in the target circuit:\n",
    " - if the source and target share the same `Parameter` instance, the parameters will be assumed to be the same and combined\n",
    " - if the source and target have different `Parameter` instances, an error will be raised\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-08-22T14:45:46.372951Z",
     "start_time": "2019-08-22T14:45:46.362798Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "     ┌────────────┐┌────────────┐\n",
      "q_0: ┤0           ├┤0           ├\n",
      "     │  sc_1(phi) ││  sc_2(phi) │\n",
      "q_1: ┤1           ├┤1           ├\n",
      "     ├────────────┤└────────────┘\n",
      "q_2: ┤0           ├──────────────\n",
      "     │  sc_2(phi) │              \n",
      "q_3: ┤1           ├──────────────\n",
      "     └────────────┘              \n"
     ]
    }
   ],
   "source": [
    "phi = Parameter('phi')\n",
    "\n",
    "sub_circ1 = QuantumCircuit(2, name='sc_1')\n",
    "sub_circ1.rz(phi, 0)\n",
    "sub_circ1.rx(phi, 1)\n",
    "\n",
    "sub_circ2 = QuantumCircuit(2, name='sc_2')\n",
    "sub_circ2.rx(phi, 0)\n",
    "sub_circ2.rz(phi, 1)\n",
    "\n",
    "qc = QuantumCircuit(4)\n",
    "qr = qc.qregs[0]\n",
    "\n",
    "qc.append(sub_circ1.to_instruction(), [qr[0], qr[1]])\n",
    "qc.append(sub_circ2.to_instruction(), [qr[0], qr[1]])\n",
    "\n",
    "qc.append(sub_circ2.to_instruction(), [qr[2], qr[3]])\n",
    "\n",
    "print(qc.draw())\n",
    "\n",
    "# The following raises an error: \"QiskitError: 'Name conflict on adding parameter: phi'\"\n",
    "# phi2 = Parameter('phi')\n",
    "# qc.u3(0.1, phi2, 0.3, 0)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "To insert a subcircuit under a different parameterization, the `to_instruction` method accepts an optional argument (`parameter_map`) which, when present, will generate instructions with the source parameter replaced by a new parameter."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-08-22T14:45:46.401332Z",
     "start_time": "2019-08-22T14:45:46.375034Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "      ┌────────────────┐\n",
      "q1_0: ┤0               ├\n",
      "      │                │\n",
      "q1_1: ┤1 oracle(theta) ├\n",
      "      │                │\n",
      "q1_2: ┤2               ├\n",
      "      └┬──────────────┬┘\n",
      "q1_3: ─┤0             ├─\n",
      "       │              │ \n",
      "q1_4: ─┤1 oracle(phi) ├─\n",
      "       │              │ \n",
      "q1_5: ─┤2             ├─\n",
      "      ┌┴──────────────┴┐\n",
      "q1_6: ┤0               ├\n",
      "      │                │\n",
      "q1_7: ┤1 oracle(gamma) ├\n",
      "      │                │\n",
      "q1_8: ┤2               ├\n",
      "      └────────────────┘\n",
      "      ┌───────────┐                                    \n",
      "q1_0: ┤ RZ(theta) ├──■─────────────────────────────────\n",
      "      └───────────┘┌─┴─┐┌───────────┐                  \n",
      "q1_1: ─────────────┤ X ├┤ RZ(theta) ├──■───────────────\n",
      "                   └───┘└───────────┘┌─┴─┐┌───────────┐\n",
      "q1_2: ───────────────────────────────┤ X ├┤ RZ(theta) ├\n",
      "       ┌─────────┐                   └───┘└───────────┘\n",
      "q1_3: ─┤ RZ(phi) ├───■─────────────────────────────────\n",
      "       └─────────┘ ┌─┴─┐ ┌─────────┐                   \n",
      "q1_4: ─────────────┤ X ├─┤ RZ(phi) ├───■───────────────\n",
      "                   └───┘ └─────────┘ ┌─┴─┐ ┌─────────┐ \n",
      "q1_5: ───────────────────────────────┤ X ├─┤ RZ(phi) ├─\n",
      "      ┌───────────┐                  └───┘ └─────────┘ \n",
      "q1_6: ┤ RZ(gamma) ├──■─────────────────────────────────\n",
      "      └───────────┘┌─┴─┐┌───────────┐                  \n",
      "q1_7: ─────────────┤ X ├┤ RZ(gamma) ├──■───────────────\n",
      "                   └───┘└───────────┘┌─┴─┐┌───────────┐\n",
      "q1_8: ───────────────────────────────┤ X ├┤ RZ(gamma) ├\n",
      "                                     └───┘└───────────┘\n"
     ]
    }
   ],
   "source": [
    "p = Parameter('p')\n",
    "qc = QuantumCircuit(3, name='oracle')\n",
    "qc.rz(p, 0)\n",
    "qc.cx(0, 1)\n",
    "qc.rz(p, 1)\n",
    "qc.cx(1, 2)\n",
    "qc.rz(p, 2)\n",
    "\n",
    "theta = Parameter('theta')\n",
    "phi = Parameter('phi')\n",
    "gamma = Parameter('gamma')\n",
    "\n",
    "qr = QuantumRegister(9)\n",
    "larger_qc = QuantumCircuit(qr)\n",
    "larger_qc.append(qc.to_instruction({p: theta}), qr[0:3])\n",
    "larger_qc.append(qc.to_instruction({p: phi}), qr[3:6])\n",
    "larger_qc.append(qc.to_instruction({p: gamma}), qr[6:9])\n",
    "print(larger_qc.draw())\n",
    "\n",
    "print(larger_qc.decompose().draw())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-08-22T14:45:46.489770Z",
     "start_time": "2019-08-22T14:45:46.403279Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<h3>Version Information</h3><table><tr><th>Qiskit Software</th><th>Version</th></tr><tr><td>Qiskit</td><td>None</td></tr><tr><td>Terra</td><td>0.15.0</td></tr><tr><td>Aer</td><td>0.5.1</td></tr><tr><td>Ignis</td><td>None</td></tr><tr><td>Aqua</td><td>None</td></tr><tr><td>IBM Q Provider</td><td>0.7.0</td></tr><tr><th>System information</th></tr><tr><td>Python</td><td>3.8.2 (default, Mar 26 2020, 10:43:30) \n",
       "[Clang 4.0.1 (tags/RELEASE_401/final)]</td></tr><tr><td>OS</td><td>Darwin</td></tr><tr><td>CPUs</td><td>4</td></tr><tr><td>Memory (Gb)</td><td>16.0</td></tr><tr><td colspan='2'>Fri May 08 08:42:21 2020 EDT</td></tr></table>"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<div style='width: 100%; background-color:#d5d9e0;padding-left: 10px; padding-bottom: 10px; padding-right: 10px; padding-top: 5px'><h3>This code is a part of Qiskit</h3><p>&copy; Copyright IBM 2017, 2020.</p><p>This code is licensed under the Apache License, Version 2.0. You may<br>obtain a copy of this license in the LICENSE.txt file in the root directory<br> of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.<p>Any modifications or derivative works of this code must retain this<br>copyright notice, and modified files need to carry a notice indicating<br>that they have been altered from the originals.</p></div>"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import qiskit.tools.jupyter\n",
    "%qiskit_version_table\n",
    "%qiskit_copyright"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "celltoolbar": "Tags",
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.2"
  },
  "nteract": {
   "version": "0.22.4"
  },
  "varInspector": {
   "cols": {
    "lenName": 16,
    "lenType": 16,
    "lenVar": 40
   },
   "kernels_config": {
    "python": {
     "delete_cmd_postfix": "",
     "delete_cmd_prefix": "del ",
     "library": "var_list.py",
     "varRefreshCmd": "print(var_dic_list())"
    },
    "r": {
     "delete_cmd_postfix": ") ",
     "delete_cmd_prefix": "rm(",
     "library": "var_list.r",
     "varRefreshCmd": "cat(var_dic_list()) "
    }
   },
   "types_to_exclude": [
    "module",
    "function",
    "builtin_function_or_method",
    "instance",
    "_Feature"
   ],
   "window_display": false
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
